#include "Mouvable.h"
#include "Config.h"

/*
 * Constructeur utilisant des paramètres par défault afin de "simuler" 2 constructeurs.
 * Le pacman appelera ce constructeur avec les paramètres par default alors que les ghosts
 * spécifiront leur position et un déplacement en X à la constuction
 */
Mouvable::Mouvable(int posY, int posX, int deplacementX) {
	this->currentDirection = NONEDIRECTION;
	this->deplacementX = deplacementX;
	this->deplacementY = 0;
	this->initialX = posX;
	this->initialY = posY;
	this->current_posX = posX;
	this->current_posY = posY;
}

int Mouvable::getCurrentDirection() const {
	return currentDirection;
}

int Mouvable::getCurrentPosX() const {
	return current_posX;
}

int Mouvable::getCurrentPosY() const {
	return current_posY;
}

double Mouvable::getDeplacementX() const {
	return deplacementX;
}

double Mouvable::getDeplacementY() const {
	return deplacementY;
}

int Mouvable::getInitialX() const {
	return initialX;
}

int Mouvable::getInitialY() const {
	return initialY;
}

void Mouvable::setCurrentDirection(int currentDirection) {
	this->currentDirection = currentDirection;
}

void Mouvable::setCurrentPosX(int currentPosX) {
	current_posX = currentPosX;
}

void Mouvable::setCurrentPosY(int currentPosY) {
	current_posY = currentPosY;
}

void Mouvable::setDeplacementX(int deplacementX) {
	this->deplacementX = deplacementX;
}

void Mouvable::setDeplacementY(int deplacementY) {
	this->deplacementY = deplacementY;
}

void Mouvable::setInitialX(int initialX) {
	this->initialX = initialX;
}

void Mouvable::setInitialY(int initialY) {
	this->initialY = initialY;
}

